﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Work9
{
    class Program
    {
        static void Main(string[] args)
        {
            //日期  DateTime类

            //在 DateTime 类中提供了静态属性 Now,用于获取当前的日期和时间 ----DateTime.Now
            var currentTime = DateTime.Now;

            Console.WriteLine(currentTime);            
            Console.WriteLine("当前是:{0}" ,currentTime.Date);  //       Date	 获取实例的日期部分
            Console.WriteLine(currentTime.ToString("yy-MM-dd"));  //年、日为必须为小写，月为大写
            Console.WriteLine("当前精确日期为:{0}" ,currentTime.ToString("yyyy-MM-dd hh:mm:ss:ms"));
            Console.WriteLine(currentTime.ToString("yyyy-MMM-ddd hh:mm:ss:ms"));
            Console.WriteLine();



            var randomTime = "2020/06/17";
            
            var rDate = Convert.ToDateTime(randomTime);
            Console.WriteLine(rDate);

            var lastDate = rDate.AddDays(-17); // 求5月最后一天

            Console.WriteLine("这是6月的第{0}天", rDate.Day);
            Console.WriteLine();
            Console.WriteLine("2020年5月的最后一天为:{0}",lastDate);
            Console.WriteLine("这是今年当中的第{0}天",lastDate.DayOfYear);
            Console.WriteLine("这是这周当中的{0}",lastDate.DayOfWeek);
            Console.WriteLine();




            //在使用 DateTime 类中的 Add 方法时需要使用时间间隔类 TimeSpan,该类允许表示的时间间隔范围是 0 到 64 位整数。

            var dt1 = DateTime.Now;
            var dt2 = new DateTime(2020, 5, 20);
            var timespan = dt1 - dt2;

            Console.WriteLine("间隔了{0}天",timespan.Days);
            Console.WriteLine("间隔的天数精确到秒为:{0}",timespan.TotalMilliseconds);


        }
    }
}
